package com.example.leetcode.trainingcamp.week6.Thursday;

import java.util.ArrayList;
import java.util.List;

/**
 * 给定一个 N 叉树，返回其节点值的 前序遍历 。
 *
 * N 叉树 在输入中按层序遍历进行序列化表示，每组子节点由空值 null 分隔（请参见示例）。
 *
 *
 */
public class Test589 {

    private final List<Integer> result = new ArrayList<>();

    public List<Integer> preorder(Node root) {
        if (root == null) return new ArrayList<>();
        result.add(root.val);
        for (int i=0;i<root.children.size();i++){
            Node node = root.children.get(i);
            preorder(node);
        }
        return result;
    }

}


class Node {
    public int val;
    public List<Node> children;

    public Node() {}

    public Node(int _val) {
        val = _val;
    }

    public Node(int _val, List<Node> _children) {
        val = _val;
        children = _children;
    }
}